What frameworks can we use for A01?ΒΆ
A01 asks us to consider the social, environmental, and ethical implications of technological solutions.
- What do we mean by Social Implications?
- What do we mean by Environmental Implications?
- What do we mean by Ethical Implications?
What do we mean by "Social Implications?"ΒΆ
Aside from questions of should there are questions of does. How does a robot's design influence the social structures in which it operates? Let's think about these for the following
- A factory robot that welds or assembles
- A self-driving car
- Educational social robot designed to improve conflict-resolution skills in young children
- Educational mobile robot (like Romi)
What do we mean by "Environmental Implications?"ΒΆ
When we talk about environmental impact of these robots, we might be talking about the world as a whole (e.g. climate change, waste accumulation, sustainability), but we are probably at least talking about the natural environment adjacent to the robot and how that might be affected by it at some point during its life cycle. What can we say about the environmental impacts of:
- An ocean cleanup robot
- A logging robot
- A chatbot like ChatGPT
Think about both primary and secondary effects each of these robots could have on its environment.
What do we mean by "Ethical Considerations?"ΒΆ
When we talk about "ethical considerations" in the context of engineering and robotics specifically, a lot of the time we are talking about what people (in many cases, engineers) should do. For example, established roboticist Rodney Brooks developed his own Three Laws of Robotics that seem to govern how engineers should design and test robots before moving them towards a commercial product. But Robot Ethics can deal with many things:
- How robots should behave towards (people, property, animals, plants)
- How engineers designing robots should behave
- How people should behave in the company of and/or towards robots
Let's focus in temporarily just on how robot engineers and possibly their creations should behave.
The IEEE code of ethics.... is it enough?ΒΆ
Summary of ORI framework (just one that you could use):ΒΆ
- Identify your robot's use case (intended or unintended or both)
- Identify stakeholders, select key stakeholders to engage with
- Listen to the stakeholders
- Map "personas" of your stakeholders & identify their values
- Create a persona chart
- Consider robotics laws/principles
- Consider community values
- Discover tensions in values
- Discover tensions in activities
- Discover tensions in technologies
- Synthesize
- Organize tensions and values thematically
Break into groups! Time for an exerciseΒΆ
Cruise IEEE robotics news for a key story.
In groups of 3, answer the following questions. Do some searching to answer these questions. Don't just rely on the one story!!
- What environmental impacts might this project have?
- What social impacts might this project have?
- What economic impacts might this project have?
- What ethical concerns are there with the project?
- What stakeholders can you identify in the article?
- What stakeholders may there be that are not mentioned?
- What value tensions can you see between stakeholders?
Let's make the Romi move together in Webots!ΒΆ
More detail is available at the video in the 02_Romi_Resources page, but the steps are:
- Open Google Drive for Desktop on your lab station computer.
- Navigate to your ES302_Name/ shared folder.
- Create a new folder called "Week01_Wednesday/"
- Right click to open a terminal at this location using windows cmd or git bash.
- Create a new ES302 Webots workspace using the following commands:
git clone https://github.com/Alexanderallenbrown/ES302_Webots.git
cd ES302_Webots
git submodule update --init
git submodule update
- Then, open the world romi_demo.wbt in Webots!
- "save as" the world and the controller to reflect today's class.
Class Exercise: Scope, Construct, Validate a basic model for the Romi's motionΒΆ
What has to happen (in terms of inputs/commands) for the Romi to:
- Move forward?
- Move backward?
- Turn without moving forward or backward? **Implement a Python function that performs each of these behaviors by modifying the "controller" file in your world.
Class Exercise:ΒΆ
Modify your controller file so that the Romi travels in a perfect square shape comprising 2x2 "world squares".
- How did you accomplish this?
- What if the behavior needed to be even MORE complex?
What did we learn?ΒΆ
Complex robot behaviors require organization. We NEED a SYSTEM. The system we will learn in ES302 is to organize our robot's (many) behaviors using a Finite State Machine (FSM).